package chapter05;

public class Java04_Object_String {
    public static void main(String[] args) throws Exception{
        // TODO 常用类和对象-字符串-基本信息
        // 字符串：连续的字符组成的数据整体
        // java.lang.String

        // TODO 字符串、字符和字节的关系
        // 由于计算机字符编码不同。字符可以用字节来表示；在Java中ASCII码采用一个字节表示一个字符，其余采用三个字节还表示一个字符

        // 构建字符串对象
        String name = "zhangsan";
        String name1 = new String("zhangsan");
        // 频繁的new字符串也会消耗不少的内存：在Java中使用双引号包含的字符串如果重复出现，实际上使用的时同一个字符串对象；如果使用new的方式则会是一个全新的对象
        System.out.println("-----------------");

        char[] cs = {'a','中','国'};
        byte[] bs = {-28,-72,-83,-27,-101,-67};
        String s = new String(cs);
        String s1 = new String(bs,"UTF-8");
        System.out.println(s);
        System.out.println(s1);
        System.out.println("-----------------");

        // 将双引号作为字符串打印:防止字符转义在前面加上\反斜杠（转义字符）
        // 常用转义字符：\‘、\t、\n、\\
        String s2 = "\"";
        System.out.println(s2);
        System.out.println("-----------------");
        System.out.println("引号：" + "\'");
        System.out.println("-----------------");
        System.out.println("制表符：" + "a\tb");
        System.out.println("-----------------");
        System.out.println("换行：" + "c\nd");
        System.out.println("-----------------");
        System.out.println("反斜杠：" + "e\\");
    }
}

